* {
  padding: 0;
  margin: 0;
}

html {
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  font-family: Calibri;
  font-size: 18px;
  display: -moz-box;
  display: -webkit-box;
  display: box;
  height: 100%;
  background: #1abc9c;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}

a {
  text-decoration: none;
  color: white;
}

aside {
  -moz-box-flex: 1;
  -webkit-box-flex: 1;
  box-flex: 1;
  background: #1abc9c;
  font-family: STXingkai;
  height: 100%;
  ul li {
    height: 45px;
    line-height: 45px;
    list-style: none;
    text-indent: 10px;
  }
  ul li.actived {
    background: rgba(0, 0, 0, 0.4);
  }
  p {
    position: absolute;
    bottom: 10px;
    text-indent: 10px;
  }

}

section {
  -moz-box-flex: 11;
  -webkit-box-flex: 11;
  box-flex: 11;
  background: #34495e;
}

section.white {
  background: #fff;
  position: relative;
}

article {
  font-family: STXingkai;
  center {
    color: #fff;
  }

  h1 {
    margin-top: 100px;
    font-size: 72px;
  }
  center:nth-child(2) {
    margin-top: 300px;
    font-size: 36px;
  }
}

table {
  tr td {
    text-align: center;
    vertical-align: middle;
  }
}

pre {
  width: 960px;
  margin: 20px auto;
  color: #000000;
  border: 1px solid #c8c8c8;
  border-left: 4px solid #1abc9c;
  border-radius: 5px;
  font-size: 14px;
  font-style: italic;
  font-weight: bold;
  color: #999;
}

///////////////////////////////////天道酬勤///////////////////////////////////////////////////////////////////////////
#main {
  min-width: 960px;
  margin: 0 auto;
  height: 100%;
  background: white;
  position: relative;
}

.box_shadow_effect {
  background: #fff;
  position: relative;
  width: 960px;
  margin: 50px auto;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0px 0px 40px rgba(0, 0, 0, 0.1) inset;

  h3 {
    font-family: STXingkai;
    font-size: 120px;
    color: #000000;
    height: 200px;
    line-height: 200px;
    text-align: center;
    letter-spacing: 60px;

    text-shadow: 0 1px 0 #ccc,
    0 2px 0 #c9c9c9,
    0 3px 0 #bbb,
    0 4px 0 #b9b9b9,
    0 5px 0 #aaa,
    0 6px 1px rgba(0, 0, 0, .1),
    0 0 5px rgba(0, 0, 0, .1),
    0 1px 3px rgba(0, 0, 0, .3),
    0 3px 5px rgba(0, 0, 0, .2),
    0 5px 10px rgba(0, 0, 0, .25),
    0 10px 10px rgba(0, 0, 0, .2),
    0 20px 20px rgba(0, 0, 0, .15);
  }
}

.box_shadow_effect:before, .box_shadow_effect:after {
  content: "";
  position: absolute;
  z-index: -1;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
  -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
  top: 50%;
  bottom: 0;
  left: 10px;
  right: 10px;
  -moz-border-radius: 100px / 10px;
  border-radius: 100px / 10px;
}

///////////////////////////////////气泡标签///////////////////////////////////////////////////////////////////////////
.beforeafter {
  width: 960px;
  margin: 0 auto;
  .demo {
    width: 0px;
    height: 0px;
    background: #fff;
    position: relative;
    margin: 50px 0 0 50px;
    line-height: 50px;
    text-align: center;
    border: 50px solid #1abc9c;
    border-color: red #1abc9c green blue;
    border-radius: 5px;
  }

  .left {
    width: 150px;
    height: 50px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 50px;
    text-align: center;
    border: 2px solid #1abc9c;
    border-radius: 5px;
  }

  .left:before {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    left: -30px;
    top: 10px;
    border: 15px solid;
    border-color: transparent #1abc9c transparent transparent;
  }

  .left:after {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    left: -27px;
    top: 10px;
    border: 15px solid;
    border-color: transparent #fff transparent transparent;
  }

  .right {
    width: 150px;
    height: 50px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 50px;
    text-align: center;
    border: 2px solid #1abc9c;
    border-radius: 5px;
  }

  .right:before {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    right: -30px;
    top: 10px;
    border: 15px solid;
    border-color: transparent transparent transparent #1abc9c;
  }

  .right:after {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    right: -27px;
    top: 10px;
    border: 15px solid;
    border-color: transparent transparent transparent #fff;
  }

  .up {
    width: 150px;
    height: 50px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 50px;
    text-align: center;
    border: 2px solid #1abc9c;
    border-radius: 5px;
  }

  .up:before {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    left: 60px;
    top: -30px;
    border: 15px solid;
    border-color: transparent transparent #1abc9c transparent;
  }

  .up:after {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    left: 60px;
    top: -27px;
    border: 15px solid;
    border-color: transparent transparent #fff transparent;
  }

  .down {
    width: 150px;
    height: 50px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 50px;
    text-align: center;
    border: 2px solid #1abc9c;
    border-radius: 5px;
  }

  .down:before {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    left: 60px;
    top: 50px;
    border: 15px solid;
    border-color: #1abc9c transparent transparent transparent;
  }

  .down:after {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    left: 60px;
    top: 48px;
    border: 15px solid;
    border-color: #fff transparent transparent transparent;
  }

  .line {
    width: 50px;
    height: 50px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 50px;
    text-align: center;
    border: 2px solid #000;
    border-radius: 25px;
  }

  .line:after {
    border-bottom: 2px solid red;
    -webkit-transform: skewY(-45deg);
    transform: skewY(-45deg);
    content: '';
    width: 38px;
    position: absolute;
    left: 5px;
    top: 45%;
  }

  .fork {
    color: #fff;
    width: 150px;
    height: 60px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 60px;
    text-align: center;
    background: #1abc9c;
  }

  .fork:before {
    content: "";
    border: 30px solid;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 0px;
    left: 0px;
  }

  .fork:after {
    content: "";
    border: 30px solid;
    border-color: transparent transparent transparent #1abc9c;
    position: absolute;
    top: -0px;
    right: -60px;
  }

  .fork-left {
    color: #fff;
    width: 150px;
    height: 60px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 60px;
    text-align: center;
    background: #1abc9c;
    border-radius: 5px;
  }

  .fork-left:before {
    content: "";
    border: 30px solid;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 0px;
    left: 0px;
  }

  .fork-right {
    color: #fff;
    width: 150px;
    height: 60px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 60px;
    text-align: center;
    background: #1abc9c;
    border-radius: 5px;
  }

  .fork-right:after {
    content: "";
    border: 30px solid;
    border-color: transparent #fff transparent transparent;
    position: absolute;
    top: 0px;
    right: 0;
  }

  .fork-up {
    color: #fff;
    width: 60px;
    height: 150px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 150px;
    text-align: center;
    background: #1abc9c;
    border-radius: 5px;
  }

  .fork-up:after {
    content: "";
    border: 30px solid;
    border-color: transparent transparent #fff transparent;
    position: absolute;
    top: 90px;
    right: 0;
  }

  .fork-down {
    color: #fff;
    width: 60px;
    height: 150px;
    background: #fff;
    position: relative;
    margin: 25px 0 0 25px;
    line-height: 150px;
    text-align: center;
    background: #1abc9c;
    border-radius: 5px;
  }

  .fork-down:before {
    content: "";
    border: 30px solid;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    top: 0;
    right: 0;
  }
}

///////////////////////////////////反转方块///////////////////////////////////////////////////////////////////////////

#transition {
  width: 100%;
  margin: 0 auto;
  margin-top: 50px;
  -moz-perspective: 800px;
  -webkit-perspective: 800px;
  perspective: 500px;
  height: 100%;
  background: white;

  .wrap {
    width: 345px;
    position: relative;
    margin: 0 auto;
    height: 500px;
    transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;

    -moz-transition: all 1s;
    -webkit-transition: all 1s;
    transition: all 1s;

    -moz-transform: rorateY(0deg);
    -webkit-transform: rorateY(0deg);
    transform: rorateY(0deg);

    .front {
      width: 345px;
      position: absolute;
      height: 500px;
      background: url("/images/back.jpg") no-repeat center 100%;

      -moz-backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;

      -moz-transform: rorateY(0deg);
      -webkit-transform: rorateY(0deg);
      transform: rorateY(0deg);
    }
    .back {
      width: 345px;
      position: absolute;
      height: 500px;
      background: url("/images/front.jpg") no-repeat center 100%;
      -moz-backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;

      -moz-transform: rotateY(180deg);
      -webkit-transform: rotateY(180deg);
      transform: rotateY(180deg);
    }
  }

  .wrap:hover {
    -moz-transition: all 1s;
    -webkit-transition: all 1s;
    transition: all 1s;

    -moz-transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  pre {
    position: relative;
  }
}

//////////////////////////////////////////////////////单页应用/////////////////////////////////////////////////////////
#spa {
  width: 100%;
  position: absolute;
  height: 100%;

  input, a {
    bottom: 0;
    position: absolute;
    width: 20%;
    height: 45px;
    line-height: 45px;
    background: #34495e;
  }
  input {
    opacity: 0;
    z-index: 999;
    color: #fff;
  }
  input:checked + a {
    background: #2c3e5c;
    color: #1abc9c;
  }
  input:checked + a:after {
    content: "";
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-bottom-color: #2c3e5c;
    left: 50%;
    bottom: 90%;
    overflow: hidden;
    position: absolute;
    margin-left: -20px;
  }
  input:hover {
    cursor: pointer;
  }
  a {
    z-index: 1;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-family: STXingkai;
  }

  #nav-1, #nav-1 + a {
    left: 0%;
  }
  #nav-2, #nav-2 + a {
    left: 20%;
  }
  #nav-3, #nav-3 + a {
    left: 40%;
  }
  #nav-4, #nav-4 + a {
    left: 60%;
  }
  #nav-5, #nav-5 + a {
    left: 80%;
  }

  .spa-con-nav {
    width: 100%;
    height: 100%;
    position: relative;
    .spa-con-img {
      position: absolute;
      width: 400px;
      margin: 0 auto;
      top: 15%;
      left: 35%;
      img.up {
        max-width: 500px;
        transform: rotate(7deg);
        -ms-transform: rotate(7deg);
        -moz-transform: rotate(7deg);
        -webkit-transform: rotate(7deg);
        -o-transform: rotate(7deg);
      }

      img.down {
        max-width: 400px;
        transform: rotate(-5deg);
        -ms-transform: rotate(-5deg);
        -moz-transform: rotate(-5deg);
        -webkit-transform: rotate(-5deg);
        -o-transform: rotate(-5deg);
      }
      img.left {
        max-width: 400px;
        transform: rotate(5deg);
        -ms-transform: rotate(5deg);
        -moz-transform: rotate(5deg);
        -webkit-transform: rotate(5deg);
        -o-transform: rotate(5deg);
      }
      img.right {
        max-width: 400px;
      }
    }
    .spa-con-person {
      position: absolute;
      width: 500px;
      left: 100px;
      top: 30px;
      font-size: 50px;
      font-family: STXingkai;
    }

    .spa-con-desc {
      position: absolute;
      bottom: 200px;
      width: 600px;
      right: 30px;
      font-size: 20px;
      font-family: STXingkai;
    }
  }

  .spa-container {
    width: 100%;
    height: 100%;
    position: relative;
    left: 0;
    top: 0;

    -moz-transition: all 1s ease-in;
    -webkit-transition: all 0.5s ease-in;
    -o-transition: all 1s ease-in;
    -ms-transition: all 0.5s ease-in;
    transition: all 1s ease-in;

    -moz-transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);

    -moz-backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  #nav-1:checked ~ .spa-container {
    -moz-transform: translateY(0%);
    -webkit-transform: translateY(0%);
    -o-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
  }

  #nav-2:checked ~ .spa-container {
    -moz-transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  #nav-3:checked ~ .spa-container {
    -moz-transform: translateY(-200%);
    -webkit-transform: translateY(-200%);
    -o-transform: translateY(-200%);
    -ms-transform: translateY(-200%);
    transform: translateY(-200%);
  }
  #nav-4:checked ~ .spa-container {
    -moz-transform: translateY(-300%);
    -webkit-transform: translateY(-300%);
    -o-transform: translateY(-300%);
    -ms-transform: translateY(-300%);
    transform: translateY(-300%);
  }
  #nav-5:checked ~ .spa-container {
    -moz-transform: translateY(-400%);
    -webkit-transform: translateY(-400%);
    -o-transform: translateY(-400%);
    -ms-transform: translateY(-400%);
    transform: translateY(-400%);
  }

  @-webkit-keyframes down {
    0% {
      -webkit-transform: translateZ(30%);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateZ(0%);
      opacity: 1;
    }
  }
  @-moz-keyframes down {
    0% {
      -moz-transform: translateY(30%);
      opacity: 0;
    }
    100% {
      -moz-transform: translateY(0%);
      opacity: 1;
    }
  }
  @-o-keyframes down {
    0% {
      -o-transform: translateY(30%);
      opacity: 0;
    }
    100% {
      -o-transform: translateY(0%);
      opacity: 1;
    }
  }
  @keyframes down {
    0% {
      transform: translateY(30%);
      opacity: 0;
    }
    100% {
      transform: translateY(0%);
      opacity: 1;
    }
  }

  #nav-1:checked ~ .spa-container #ctr-nav-1,
  #nav-2:checked ~ .spa-container #ctr-nav-2,
  #nav-3:checked ~ .spa-container #ctr-nav-3,
  #nav-4:checked ~ .spa-container #ctr-nav-4,
  #nav-5:checked ~ .spa-container #ctr-nav-5 {
    .spa-con-person {
      -moz-animation: down 2s ease-in-out 0.5s;
      -webkit-animation: down 2s ease-in-out 0.5s;
      -o-animation: down 2s ease-in-out 0.5s;
      -ms-animation: down 1s ease-in-out 0.5s;
      animation: down 2s ease-in-out 0.5s;
    }
    .spa-con-desc {
      -moz-animation: down 2s ease-in-out 0.8s;
      -webkit-animation: down 2s ease-in-out 0.8s;
      -o-animation: down 2s ease-in-out 0.8s;
      -ms-animation: down 1s ease-in-out 0.8s;
      animation: down 2s ease-in-out 0.8s;
    }
  }
}

//////////////////////////////////////////////////////电影海报/////////////////////////////////////////////////////////

#poster {
  width: 90%;
  height: 450px;
  margin: 60px auto;
  position: relative;
  img {
    padding: 10px 10px 15px;
    background: white;
    border: 1px solid #ddd;
    box-shadow: 2px 2px 3px rgba(50, 50, 50, 0.4);
    -webkit-transition: all 0.5s ease-in;
    -moz-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
    position: absolute;
    z-index: 1;
    max-width: 300px;
  }
  img:hover {
    box-shadow: 15px 15px 20px rgba(50, 50, 50, 0.4);
    -webkit-transform: rotate(0deg) scale(1.30);
    -moz-transform: rotate(0deg) scale(1.30);
    transform: rotate(0deg) scale(1.30);
    z-index: 2;
  }

  .pic1 {
    left: 500px;
    top: 300px;
    -webkit-transform: rotate(-8deg);
    -moz-transform: rotate(-8deg);
    transform: rotate(-8deg);
  }

  .pic2 {
    top: 200px;
    left: 100px;
    -webkit-transform: rotate(-20deg);
    -moz-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }

  .pic3 {
    bottom: 0;
    right: 50px;
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  .pic4 {
    bottom: 0;
    left: 200px;
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  .pic5 {
    bottom: -200px;
    left: 0;
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  .pic6 {
    top: 0;
    left: 0;
    -webkit-transform: rotate(10deg);
    -moz-transform: rotate(10deg);
    transform: rotate(10deg);
  }

  .pic7 {
    top: 0;
    left: 850px;
    -webkit-transform: rotate(20deg);
    -moz-transform: rotate(20deg);
    transform: rotate(20deg);
  }

  .pic8 {
    bottom: -100px;
    right: 630px;
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  .pic9 {
    top: 90px;
    left: 450px;
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  .pic10 {
    right: 300px;
    bottom: -280px;
    -webkit-transform: rotate(10deg);
    -moz-transform: rotate(10deg);
    transform: rotate(10deg);
  }
}

//////////////////////////////////////////////////////////////////线性变换///////////////////////////////////////////////

#magic {
  position: absolute;
  width: 100%;
  height: 100%;
  font-size: 56px;
  color: white;
  font-family: STXingkai;
  .up-down {
    width: 960px;
    height: 300px;
    line-height: 300px;
    text-align: center;
    margin: 0 auto;
    margin-top: 20px;
    background: -webkit-gradient(linear, 0 0, 0 100%, from(#556270), to(#ff6b6b));
    background: -moz-linear-gradient(90deg, #ff6b6b, #556270) repeat scroll 0 0 rgba(0, 0, 0, 0);
    background: -o-linear-gradient(90deg, #556270 10%, #ff6b6b 90%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    filter: progid:DXImageTransform.Microsoft.Gradient(gradientType='0', startColorStr='#556270', endColorStr='#ff6b6b');
  }

  .left-right {
    width: 960px;
    height: 300px;
    line-height: 300px;
    text-align: center;
    margin: 0 auto;
    margin-top: 20px;
    background: -webkit-gradient(linear, 0 100%, 100% 100%, from(#556270), to(#ff6b6b));
    background: -moz-linear-gradient(0deg, #556270, #ff6b6b) repeat scroll 0 0 rgba(0, 0, 0, 0);
    background: -o-linear-gradient(90deg, #556270 10%, #ff6b6b 90%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    filter: progid:DXImageTransform.Microsoft.Gradient(gradientType='1', startColorStr='#556270', endColorStr='#ff6b6b');
  }
}

/////////////////////////////////////////////////////线性运动////////////////////////////////////////////////////////////

@keyframes round {
  0% {
    top: 0px;
    left: 0px;
  }
  25% {
    top: 400px;
    left: -100px;
  }
  50% {
    top: 400px;
    left: 400px;
  }
  75% {
    top: 0px;
    left: 400px;
  }
  100% {
    top: 0px;
    left: 0px;
  }
}

@-moz-keyframes round {
  0% {
    top: 0px;
    left: 0px;
  }
  25% {
    top: 0px;
    left: -500px;
  }
  50% {
    top: 0px;
    left: 500px;
  }
  75% {
    top: 0px;
    left: 400px;
  }
  100% {
    top: 0px;
    left: 0px;
  }
}

@-webkit-keyframes round {
  0% {
    top: 0px;
    left: 0px;
  }
  25% {
    top: 100px;
    left: -300px;
  }
  50% {
    top: 120px;
    left: 200px;
  }
  75% {
    top: 200px;
    left: -300px;
  }
  100% {
    top: 0px;
    left: 0px;
  }
}

@-o-keyframes round {
  0% {
    top: 0px;
    left: 0px;
  }
  25% {
    top: 400px;
    left: -100px;
  }
  50% {
    top: 400px;
    left: 400px;
  }
  75% {
    top: 0px;
    left: 400px;
  }
  100% {
    top: 0px;
    left: 0px;
  }
}

#homepage {
  span {
    position: relative;
    display: block;
    color: #fff;
    width: 206px;
    margin-top: 80px;
    height: 100px;
    line-height: 100px;
    background: url("/images/fish.gif") no-repeat left center;
    animation: round 16s infinite;
    -moz-animation: round 16s infinite;
    -webkit-animation: round 16s infinite;
    -o-animation: round 16s infinite;
  }
}

///////////////////////////////////////////////////////////Thanks///////////////////////////////////////////////////////
#over {
  color: #333;
  position: relative;
  .left {
    width: 120px;
    position: absolute;
    margin-top: 70px;
    right: 8%;
    font-family: STXingkai;
    h1 {
      width: 100%;
      font-size: 2.0em;
    }
  }
  .right {
    width: 120px;
    position: absolute;
    margin-top: 100px;
    right: 10%;
    font-family: STXingkai;
    h1 {
      width: 100%;
      font-size: 2.0em;
    }
  }

  .center {
    width: 100px;
    position: absolute;
    margin-top: 200px;
    right: 60%;
  }
}

////////////////////////////////////////////////////////////魔幻动画/////////////////////////////////////////////////////

#magic {
  position: relative;
  width: 960px;
  margin: 0 auto;

  #magic-show {
    position: relative;
    width: 400px;
    height: 400px;
    margin: 0 auto;
    margin-top: 200px;

    #magic-line {
      position: absolute;
      width: 198px;
      height: 198px;
      border: 1px solid #fff;
      border-radius: 5px;
    }

    #magic-box {
      position: absolute;
      width: 200px;
      height: 200px;
      text-align: center;
      line-height: 200px;
      background: #333333;
      color: #fff;
      font-family: STXingkai;

      -webkit-animation-duration: 1s;
      -moz-animation-duration: 2s;
      -o-animation-duration: 2s;
      animation-duration: 1s;
      -webkit-animation-fill-mode: both;
      -moz-animation-fill-mode: both;
      -o-animation-fill-mode: both;
      animation-fill-mode: both;
      border-radius: 4px;
    }
  }

  button {
    display: block;
    float: left;
    margin: 10px 10px 10px 0;
    padding: 12px 18px;
    background: #333; background: rgba(0,0,0,0.3);
    border: 2px solid #fff;
    color: #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    cursor: pointer;
  }

  button:hover {
    background: #333;
    background: rgba(0,0,0,0.6);
  }

}
////////////////////////////////////////////魔幻动画样式//////////////////////////////////////////////////////////////////

.magictime {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.magic {
  -webkit-animation-name: magic;
  animation-name: magic;
}
.openDownLeft {
  -webkit-animation-name: openDownLeft;
  animation-name: openDownLeft;
}
.openDownRight {
  -webkit-animation-name: openDownRight;
  animation-name: openDownRight;
}
.openUpLeft {
  -webkit-animation-name: openUpLeft;
  animation-name: openUpLeft;
}
.openUpRight {
  -webkit-animation-name: openUpRight;
  animation-name: openUpRight;
}
.openDownLeftRetourn {
  -webkit-animation-name: openDownLeftRetourn;
  animation-name: openDownLeftRetourn;
}
.openDownRightRetourn {
  -webkit-animation-name: openDownRightRetourn;
  animation-name: openDownRightRetourn;
}
.openUpLeftRetourn {
  -webkit-animation-name: openUpLeftRetourn;
  animation-name: openUpLeftRetourn;
}
.openUpRightRetourn {
  -webkit-animation-name: openUpRightRetourn;
  animation-name: openUpRightRetourn;
}
.openDownLeftOut {
  -webkit-animation-name: openDownLeftOut;
  animation-name: openDownLeftOut;
}
.openDownRightOut {
  -webkit-animation-name: openDownRightOut;
  animation-name: openDownRightOut;
}
.openUpLeftOut {
  -webkit-animation-name: openUpLeftOut;
  animation-name: openUpLeftOut;
}
.openUpRightOut {
  -webkit-animation-name: openUpRightOut;
  animation-name: openUpRightOut;
}
.perspectiveDown {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveDown;
  animation-name: perspectiveDown;
}
.perspectiveLeft {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveLeft;
  animation-name: perspectiveLeft;
}
.perspectiveRight {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveRight;
  animation-name: perspectiveRight;
}
.perspectiveUp {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveUp;
  animation-name: perspectiveUp;
}
.perspectiveDownRetourn {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveDownRetourn;
  animation-name: perspectiveDownRetourn;
}
.perspectiveLeftRetourn {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveLeftRetourn;
  animation-name: perspectiveLeftRetourn;
}
.perspectiveRightRetourn {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveRightRetourn;
  animation-name: perspectiveRightRetourn;
}
.perspectiveUpRetourn {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: perspectiveUpRetourn;
  animation-name: perspectiveUpRetourn;
}
.puffIn {
  -webkit-animation-name: puffIn;
  animation-name: puffIn;
}
.puffOut {
  -webkit-animation-name: puffOut;
  animation-name: puffOut;
}
.rotateDown {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: rotateDown;
  animation-name: rotateDown;
}
.rotateLeft {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: rotateLeft;
  animation-name: rotateLeft;
}
.rotateRight {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: rotateRight;
  animation-name: rotateRight;
}
.rotateUp {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: rotateUp;
  animation-name: rotateUp;
}
.slideDown {
  -webkit-animation-name: slideDown;
  animation-name: slideDown;
}
.slideLeft {
  -webkit-animation-name: slideLeft;
  animation-name: slideLeft;
}
.slideRight {
  -webkit-animation-name: slideRight;
  animation-name: slideRight;
}
.slideUp {
  -webkit-animation-name: slideUp;
  animation-name: slideUp;
}
.slideDownRetourn {
  -webkit-animation-name: slideDownRetourn;
  animation-name: slideDownRetourn;
}
.slideLeftRetourn {
  -webkit-animation-name: slideLeftRetourn;
  animation-name: slideLeftRetourn;
}
.slideRightRetourn {
  -webkit-animation-name: slideRightRetourn;
  animation-name: slideRightRetourn;
}
.slideUpRetourn {
  -webkit-animation-name: slideUpRetourn;
  animation-name: slideUpRetourn;
}
.swap {
  -webkit-animation-name: swap;
  animation-name: swap;
}
.twisterInDown {
  -webkit-animation-name: twisterInDown;
  animation-name: twisterInDown;
}
.twisterInUp {
  -webkit-animation-name: twisterInUp;
  animation-name: twisterInUp;
}
.vanishIn {
  -webkit-animation-name: vanishIn;
  animation-name: vanishIn;
}
.vanishOut {
  -webkit-animation-name: vanishOut;
  animation-name: vanishOut;
}
.swashOut {
  -webkit-animation-name: swashOut;
  animation-name: swashOut;
}
.swashIn {
  -webkit-animation-name: swashIn;
  animation-name: swashIn;
}
.foolishOut {
  -webkit-animation-name: foolishOut;
  animation-name: foolishOut;
}
.foolishIn {
  -webkit-animation-name: foolishIn;
  animation-name: foolishIn;
}
.holeOut {
  -webkit-animation-name: holeOut;
  animation-name: holeOut;
}
.tinRightOut {
  -webkit-animation-name: tinRightOut;
  animation-name: tinRightOut;
}
.tinLeftOut {
  -webkit-animation-name: tinLeftOut;
  animation-name: tinLeftOut;
}
.tinUpOut {
  -webkit-animation-name: tinUpOut;
  animation-name: tinUpOut;
}
.tinDownOut {
  -webkit-animation-name: tinDownOut;
  animation-name: tinDownOut;
}
.tinRightIn {
  -webkit-animation-name: tinRightIn;
  animation-name: tinRightIn;
}
.tinLeftIn {
  -webkit-animation-name: tinLeftIn;
  animation-name: tinLeftIn;
}
.tinUpIn {
  -webkit-animation-name: tinUpIn;
  animation-name: tinUpIn;
}
.tinDownIn {
  -webkit-animation-name: tinDownIn;
  animation-name: tinDownIn;
}
.bombRightOut {
  -webkit-animation-name: bombRightOut;
  animation-name: bombRightOut;
}
.bombLeftOut {
  -webkit-animation-name: bombLeftOut;
  animation-name: bombLeftOut;
}
.boingInUp {
  -webkit-animation-name: boingInUp;
  animation-name: boingInUp;
}
.boingOutDown {
  -webkit-animation-name: boingOutDown;
  animation-name: boingOutDown;
}
.spaceOutUp {
  -webkit-animation-name: spaceOutUp;
  animation-name: spaceOutUp;
}
.spaceOutRight {
  -webkit-animation-name: spaceOutRight;
  animation-name: spaceOutRight;
}
.spaceOutDown {
  -webkit-animation-name: spaceOutDown;
  animation-name: spaceOutDown;
}
.spaceOutLeft {
  -webkit-animation-name: spaceOutLeft;
  animation-name: spaceOutLeft;
}
.spaceInUp {
  -webkit-animation-name: spaceInUp;
  animation-name: spaceInUp;
}
.spaceInRight {
  -webkit-animation-name: spaceInRight;
  animation-name: spaceInRight;
}
.spaceInDown {
  -webkit-animation-name: spaceInDown;
  animation-name: spaceInDown;
}
.spaceInLeft {
  -webkit-animation-name: spaceInLeft;
  animation-name: spaceInLeft;
}

@-webkit-keyframes magic {
  0% {
    opacity: 1;
    -webkit-transform-origin: 100% 200%;
    -webkit-transform: scale(1, 1) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 200% 500%;
    -webkit-transform: scale(0, 0) rotate(270deg);
  }
}
@keyframes magic {
  0% {
    opacity: 1;
    transform-origin: 100% 200%;
    transform: scale(1, 1) rotate(0deg);
  }

  100% {
    opacity: 0;
    transform-origin: 200% 500%;
    transform: scale(0, 0) rotate(270deg);
  }
}
@-webkit-keyframes openDownLeft {
  0% {
    -webkit-transform-origin: bottom left;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform-origin: bottom left;
    -webkit-transform: rotate(-110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openDownLeft {
  0% {
    transform-origin: bottom left;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    transform-origin: bottom left;
    transform: rotate(-110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes openDownRight {
  0% {
    -webkit-transform-origin: bottom right;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform-origin: bottom right;
    -webkit-transform: rotate(110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openDownRight {
  0% {
    transform-origin: bottom right;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    transform-origin: bottom right;
    transform: rotate(110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes openUpLeft {
  0% {
    -webkit-transform-origin: top left;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform-origin: top left;
    -webkit-transform: rotate(110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openUpLeft {
  0% {
    transform-origin: top left;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    transform-origin: top left;
    transform: rotate(110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes openUpRight {
  0% {
    -webkit-transform-origin: top right;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform-origin: top right;
    -webkit-transform: rotate(-110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openUpRight {
  0% {
    transform-origin: top right;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    transform-origin: top right;
    transform: rotate(-110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes openDownLeftRetourn {
  0% {
    -webkit-transform-origin: bottom left;
    -webkit-transform: rotate(-110deg);
    -webkit-animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform-origin: bottom left;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }
}
@keyframes openDownLeftRetourn {
  0% {
    transform-origin: bottom left;
    transform: rotate(-110deg);
    animation-timing-function: ease-in-out;
  }

  100% {
    transform-origin: bottom left;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }
}
@-webkit-keyframes openDownRightRetourn {
  0% {
    -webkit-transform-origin: bottom right;
    -webkit-transform: rotate(110deg);
    -webkit-animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform-origin: bottom right;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }
}
@keyframes openDownRightRetourn {
  0% {
    transform-origin: bottom right;
    transform: rotate(110deg);
    animation-timing-function: ease-in-out;
  }

  100% {
    transform-origin: bottom right;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }
}
@-webkit-keyframes openUpLeftRetourn {
  0% {
    -webkit-transform-origin: top left;
    -webkit-transform: rotate(110deg);
    -webkit-animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform-origin: top left;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }
}
@keyframes openUpLeftRetourn {
  0% {
    transform-origin: top left;
    transform: rotate(110deg);
    animation-timing-function: ease-in-out;
  }

  100% {
    transform-origin: top left;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }
}
@-webkit-keyframes openUpRightRetourn {
  0% {
    -webkit-transform-origin: top right;
    -webkit-transform: rotate(-110deg);
    -webkit-animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform-origin: top right;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }
}
@keyframes openUpRightRetourn {
  0% {
    transform-origin: top right;
    transform: rotate(-110deg);
    animation-timing-function: ease-in-out;
  }

  100% {
    transform-origin: top right;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }
}
@-webkit-keyframes openDownLeftOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: bottom left;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: bottom left;
    -webkit-transform: rotate(-110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openDownLeftOut {
  0% {
    opacity: 1;
    transform-origin: bottom left;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    transform-origin: bottom left;
    transform: rotate(-110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes openDownRightOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: bottom right;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: bottom right;
    -webkit-transform: rotate(110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openDownRightOut {
  0% {
    opacity: 1;
    transform-origin: bottom right;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    transform-origin: bottom right;
    transform: rotate(110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes openUpLeftOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: top left;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: top left;
    -webkit-transform: rotate(110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openUpLeftOut {
  0% {
    opacity: 1;
    transform-origin: top left;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    transform-origin: top left;
    transform: rotate(110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes openUpRightOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: top right;
    -webkit-transform: rotate(0deg);
    -webkit-animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: top right;
    -webkit-transform: rotate(-110deg);
    -webkit-animation-timing-function: ease-in-out;
  }
}
@keyframes openUpRightOut {
  0% {
    opacity: 1;
    transform-origin: top right;
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }

  100% {
    opacity: 0;
    transform-origin: top right;
    transform: rotate(-110deg);
    animation-timing-function: ease-in-out;
  }
}
@-webkit-keyframes perspectiveDown {
  0% {
    -webkit-transform-origin: 0 100%;
    -webkit-transform: perspective(800px) rotateX(0deg);
  }

  100% {
    -webkit-transform-origin: 0 100%;
    -webkit-transform: perspective(800px) rotateX(-180deg);
  }
}
@keyframes perspectiveDown {
  0% {
    transform-origin: 0 100%;
    transform: perspective(800px) rotateX(0deg);
  }

  100% {
    transform-origin: 0 100%;
    transform: perspective(800px) rotateX(-180deg);
  }
}
@-webkit-keyframes perspectiveLeft {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateY(0deg);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateY(-180deg);
  }
}
@keyframes perspectiveLeft {
  0% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateY(0deg);
  }

  100% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateY(-180deg);
  }
}
@-webkit-keyframes perspectiveRight {
  0% {
    -webkit-transform-origin: 100% 0;
    -webkit-transform: perspective(800px) rotateY(0deg);
  }

  100% {
    -webkit-transform-origin: 100% 0;
    -webkit-transform: perspective(800px) rotateY(180deg);
  }
}
@keyframes perspectiveRight {
  0% {
    transform-origin: 100% 0;
    transform: perspective(800px) rotateY(0deg);
  }

  100% {
    transform-origin: 100% 0;
    transform: perspective(800px) rotateY(180deg);
  }
}
@-webkit-keyframes perspectiveUp {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateX(0deg);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateX(180deg);
  }
}
@keyframes perspectiveUp {
  0% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateX(0deg);
  }

  100% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateX(180deg);
  }
}
@-webkit-keyframes perspectiveDownRetourn {
  0% {
    -webkit-transform-origin: 0 100%;
    -webkit-transform: perspective(800px) rotateX(-180deg);
  }

  100% {
    -webkit-transform-origin: 0 100%;
    -webkit-transform: perspective(800px) rotateX(0deg);
  }
}
@keyframes perspectiveDownRetourn {
  0% {
    transform-origin: 0 100%;
    transform: perspective(800px) rotateX(-180deg);
  }

  100% {
    transform-origin: 0 100%;
    transform: perspective(800px) rotateX(0deg);
  }
}
@-webkit-keyframes perspectiveLeftRetourn {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateY(-180deg);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateY(0deg);
  }
}
@keyframes perspectiveLeftRetourn {
  0% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateY(-180deg);
  }

  100% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateY(0deg);
  }
}
@-webkit-keyframes perspectiveRightRetourn {
  0% {
    -webkit-transform-origin: 100% 0;
    -webkit-transform: perspective(800px) rotateY(180deg);
  }

  100% {
    -webkit-transform-origin: 100% 0;
    -webkit-transform: perspective(800px) rotateY(0deg);
  }
}
@keyframes perspectiveRightRetourn {
  0% {
    transform-origin: 100% 0;
    transform: perspective(800px) rotateY(180deg);
  }

  100% {
    transform-origin: 100% 0;
    transform: perspective(800px) rotateY(0deg);
  }
}
@-webkit-keyframes perspectiveUpRetourn {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateX(180deg);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateX(0deg);
  }
}
@keyframes perspectiveUpRetourn {
  0% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateX(180deg);
  }

  100% {
    transform-origin: 0 0;
    transform: perspective(800px) rotateX(0deg);
  }
}
@-webkit-keyframes puffIn {
  0% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(2,2);
    -webkit-filter: blur(2px);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1,1);
    -webkit-filter: blur(0px);
  }
}
@keyframes puffIn {
  0% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(2,2);
    filter: blur(2px);
  }

  100% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1,1);
    filter: blur(0px);
  }
}
@-webkit-keyframes puffOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1,1);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(2,2);
    -webkit-filter: blur(2px);
  }
}
@keyframes puffOut {
  0% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1,1);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(2,2);
    -webkit-filter: blur(2px);
  }
}
@-webkit-keyframes rotateDown {
  0% {
    opacity: 1;
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateX(0deg) translateZ(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 100%;
    -webkit-transform: perspective(800px) rotateX(-180deg) translateZ(300px);
  }
}
@keyframes rotateDown {
  0% {
    opacity: 1;
    transform-origin: 0 0;
    transform: perspective(800px) rotateX(0deg) translateZ(0px);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 100%;
    transform: perspective(800px) rotateX(-180deg) translateZ(300px);
  }
}
@-webkit-keyframes rotateLeft {
  0% {
    opacity: 1;
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateY(0deg) translateZ(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 0;
    -webkit-transform: perspective(800px) rotateY(180deg) translateZ(300px);
  }
}
@keyframes rotateLeft {
  0% {
    opacity: 1;
    transform-origin: 0 0;
    transform: perspective(800px) rotateY(0deg) translateZ(0px);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 0;
    transform: perspective(800px) rotateY(180deg) translateZ(300px);
  }
}
@-webkit-keyframes rotateRight {
  0% {
    opacity: 1;
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateY(0deg) translate3d(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 0;
    -webkit-transform: perspective(800px) rotateY(-180deg) translateZ(150px);
  }
}
@keyframes rotateRight {
  0% {
    opacity: 1;
    transform-origin: 0 0;
    transform: perspective(800px) rotateY(0deg) translate3d(0px);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 0;
    transform: perspective(800px) rotateY(-180deg) translateZ(150px);
  }
}
@-webkit-keyframes rotateUp {
  0% {
    opacity: 1;
    -webkit-transform-origin: 0 0;
    -webkit-transform: perspective(800px) rotateX(0deg) translateZ(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 0;
    -webkit-transform: perspective(800px) rotateX(180deg) translateZ(100px);
  }
}
@keyframes rotateUp {
  0% {
    opacity: 1;
    transform-origin: 0 0;
    transform: perspective(800px) rotateX(0deg) translateZ(0px);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 0;
    transform: perspective(800px) rotateX(180deg) translateZ(100px);
  }
}
@-webkit-keyframes slideDown {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(0%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(100%);
  }
}
@keyframes slideDown {
  0% {
    transform-origin: 0 0;
    transform: translateY(0%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateY(100%);
  }
}
@-webkit-keyframes slideLeft {
  0% {
    -webkit-transform-origin: 0 0;;
    -webkit-transform: translateX(0%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateX(-100%);
  }
}
@keyframes slideLeft {
  0% {
    transform-origin: 0 0;
    transform: translateX(0%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateX(-100%);
  }
}
@-webkit-keyframes slideRight {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateX(0%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateX(100%);
  }
}
@keyframes slideRight {
  0% {
    transform-origin: 0 0;
    transform: translateX(0%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateX(100%);
  }
}
@-webkit-keyframes slideUp {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(0%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(-100%);
  }
}
@keyframes slideUp {
  0% {
    transform-origin: 0 0;
    transform: translateY(0%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateY(-100%);
  }
}
@-webkit-keyframes slideDownRetourn {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(100%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(0%);
  }
}
@keyframes slideDownRetourn {
  0% {
    transform-origin: 0 0;
    transform: translateY(100%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateY(0%);
  }
}
@-webkit-keyframes slideLeftRetourn {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateX(-100%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateX(0%);
  }
}
@keyframes slideLeftRetourn {
  0% {
    transform-origin: 0 0;
    transform: translateX(-100%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateX(0%);
  }
}
@-webkit-keyframes slideRightRetourn {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateX(100%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateX(0%);
  }
}
@keyframes slideRightRetourn {
  0% {
    transform-origin: 0 0;
    transform: translateX(100%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateX(0%);
  }
}
@-webkit-keyframes slideUpRetourn {
  0% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(-100%);
  }

  100% {
    -webkit-transform-origin: 0 0;
    -webkit-transform: translateY(0%);
  }
}
@keyframes slideUpRetourn {
  0% {
    transform-origin: 0 0;
    transform: translateY(-100%);
  }

  100% {
    transform-origin: 0 0;
    transform: translateY(0%);
  }
}
@-webkit-keyframes swap {
  0% {
    opacity: 0;
    -webkit-transform-origin: 0 100%;
    -webkit-transform: scale(0, 0) translate(-700px, 0px);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 100% 100%;
    -webkit-transform: scale(1, 1) translate(0px, 0px);;
  }
}
@keyframes swap {
  0% {
    opacity: 0;
    transform-origin: 0 100%;
    transform: scale(0, 0) translate(-700px, 0px);
  }

  100% {
    opacity: 1;
    transform-origin: 100% 100%;
    transform: scale(1, 1) translate(0px, 0px);
  }
}
@-webkit-keyframes twisterInDown {
  0% {
    opacity: 0;
    -webkit-transform-origin: 0 100%;
    -webkit-transform: scale(0, 0) rotate(360deg) translateY(-100%);
  }

  30% {
    -webkit-transform-origin: 0 100%;
    -webkit-transform: scale(0, 0) rotate(360deg) translateY(-100%);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 100% 100%;
    -webkit-transform: scale(1, 1) rotate(0deg) translateY(0%);
  }
}
@keyframes twisterInDown {
  0% {
    opacity: 0;
    transform-origin: 0 100%;
    transform: scale(0, 0) rotate(360deg) translateY(-100%);
  }

  30% {
    transform-origin: 0 100%;
    transform: scale(0, 0) rotate(360deg) translateY(-100%);
  }

  100% {
    opacity: 1;
    transform-origin: 100% 100%;
    transform: scale(1, 1) rotate(0deg) translateY(0%);
  }
}
@-webkit-keyframes twisterInUp {
  0% {
    opacity: 0;
    -webkit-transform-origin: 100% 0;
    -webkit-transform: scale(0, 0) rotate(360deg) translateY(100%);
  }

  30% {
    -webkit-transform-origin: 100% 0;
    -webkit-transform: scale(0, 0) rotate(360deg) translateY(100%);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 0 0;
    -webkit-transform: scale(1, 1) rotate(0deg) translateY(0);
  }
}
@keyframes twisterInUp {
  0% {
    opacity: 0;
    transform-origin: 100% 0;
    transform: scale(0, 0) rotate(360deg) translateY(100%);
  }

  30% {
    transform-origin: 100% 0;
    transform: scale(0, 0) rotate(360deg) translateY(100%);
  }

  100% {
    opacity: 1;
    transform-origin: 0 0;
    transform: scale(1, 1) rotate(0deg) translateY(0);
  }
}
@-webkit-keyframes vanishIn {
  0% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(2, 2);
    -webkit-filter: blur(90px);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1, 1);
    -webkit-filter: blur(0px);
  }
}
@keyframes vanishIn {
  0% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(2, 2);
    -webkit-filter: blur(90px);
  }

  100% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1);
    -webkit-filter: blur(0px);
  }
}
@-webkit-keyframes vanishOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1, 1);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(2, 2);
    -webkit-filter: blur(20px);
  }
}
@keyframes vanishOut {
  0% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(2, 2);
    -webkit-filter: blur(20px);
  }
}
@-webkit-keyframes swashOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  80% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(0.9, 0.9);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(0, 0);
  }
}
@keyframes swashOut {
  0% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1);
  }

  80% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(0.9, 0.9);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(0, 0);
  }
}
@-webkit-keyframes swashIn {
  0% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(0, 0);
  }

  90% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(0.9, 0.9);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1, 1);
  }
}
@keyframes swashIn {
  0% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(0, 0);
  }

  90% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(0.9, 0.9);
  }

  100% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1);
  }
}
@-webkit-keyframes foolishOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1, 1) rotate(360deg);
  }

  20% {
    opacity: 1;
    -webkit-transform-origin: 0% 0%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  40% {
    opacity: 1;
    -webkit-transform-origin: 100% 0%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  60% {
    opacity: 1;
    -webkit-transform-origin: 0%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  80% {
    opacity: 1;
    -webkit-transform-origin: 0% 100%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(0, 0) rotate(0deg);
  }
}
@keyframes foolishOut {
  0% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1) rotate(360deg);
  }

  20% {
    opacity: 1;
    transform-origin: 0% 0%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  40% {
    opacity: 1;
    transform-origin: 100% 0%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  60% {
    opacity: 1;
    transform-origin: 0%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  80% {
    opacity: 1;
    transform-origin: 0% 100%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(0, 0) rotate(0deg);
  }
}
@-webkit-keyframes foolishIn {
  0% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(0, 0) rotate(360deg);
  }

  20% {
    opacity: 1;
    -webkit-transform-origin: 0% 100%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  40% {
    opacity: 1;
    -webkit-transform-origin: 100% 100%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  60% {
    opacity: 1;
    -webkit-transform-origin: 0%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  80% {
    opacity: 1;
    -webkit-transform-origin: 0% 0%;
    -webkit-transform: scale(0.5, 0.5) rotate(0deg);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1, 1) rotate(0deg);
  }
}
@keyframes foolishIn {
  0% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(0, 0) rotate(360deg);
  }

  20% {
    opacity: 1;
    transform-origin: 0% 100%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  40% {
    opacity: 1;
    transform-origin: 100% 100%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  60% {
    opacity: 1;
    transform-origin: 0%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  80% {
    opacity: 1;
    transform-origin: 0% 0%;
    transform: scale(0.5, 0.5) rotate(0deg);
  }

  100% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1) rotate(0deg);
  }
}
@-webkit-keyframes holeOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(1, 1) rotateY(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: scale(0, 0) rotateY(180deg);
  }
}
@keyframes holeOut {
  0% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1) rotateY(0deg);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(0, 0) rotateY(180deg);
  }
}
@-webkit-keyframes tinRightOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateX(0);
  }

  10%, 30% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateX(900%);
  }
}
@keyframes tinRightOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    transform: scale(1, 1) translateX(0);
  }

  10%, 30% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateX(0);
  }

  100% {
    opacity: 0;
    transform: scale(1, 1) translateX(900%);
  }
}
@-webkit-keyframes tinLeftOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateX(0);
  }

  10%, 30% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateX(-900%);
  }
}
@keyframes tinLeftOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    transform: scale(1, 1) translateX(0);
  }

  10%, 30% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateX(0);
  }

  100% {
    opacity: 0;
    transform: scale(1, 1) translateX(-900%);
  }
}
@-webkit-keyframes tinUpOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateY(0);
  }

  10%, 30% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateY(-900%);
  }
}
@keyframes tinUpOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    transform: scale(1, 1) translateY(0);
  }

  10%, 30% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateY(0);
  }

  100% {
    opacity: 0;
    transform: scale(1, 1) translateY(-900%);
  }
}
@-webkit-keyframes tinDownOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateY(0);
  }

  10%, 30% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateY(900%);
  }
}
@keyframes tinDownOut {
  0%, 20%, 40%, 50% {
    opacity: 1;
    transform: scale(1, 1) translateY(0);
  }

  10%, 30% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateY(0);
  }

  100% {
    opacity: 0;
    transform: scale(1, 1) translateY(900%);
  }
}
@-webkit-keyframes tinRightIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateX(900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateX(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateX(0);
  }
}
@keyframes tinRightIn {
  0% {
    opacity: 0;
    transform: scale(1, 1) translateX(900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateX(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    transform: scale(1, 1) translateX(0);
  }
}
@-webkit-keyframes tinLeftIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateX(-900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateX(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateX(0);
  }
}
@keyframes tinLeftIn {
  0% {
    opacity: 0;
    transform: scale(1, 1) translateX(-900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateX(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    transform: scale(1, 1) translateX(0);
  }
}
@-webkit-keyframes tinUpIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateY(-900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateY(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateY(0);
  }
}
@keyframes tinUpIn {
  0% {
    opacity: 0;
    transform: scale(1, 1) translateY(-900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateY(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    transform: scale(1, 1) translateY(0);
  }
}
@-webkit-keyframes tinDownIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(1, 1) translateY(900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1) translateY(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    -webkit-transform: scale(1, 1) translateY(0);
  }
}
@keyframes tinDownIn {
  0% {
    opacity: 0;
    transform: scale(1, 1) translateY(900%);
  }

  50%, 70%, 90% {
    opacity: 1;
    transform: scale(1.1, 1.1) translateY(0);
  }

  60%, 80%, 100% {
    opacity: 1;
    transform: scale(1, 1) translateY(0);
  }
}
@-webkit-keyframes bombRightOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
    -webkit-filter: blur(0px);
  }

  50% {
    opacity: 1;
    -webkit-transform-origin: 200% 50%;
    -webkit-transform: rotate(160deg);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 200% 50%;
    -webkit-transform: rotate(160deg);
    -webkit-filter: blur(20px);
  }
}
@keyframes bombRightOut {
  0% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: rotate(0deg);
    -webkit-filter: blur(0px);
  }

  50% {
    opacity: 1;
    transform-origin: 200% 50%;
    transform: rotate(160deg);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    transform-origin: 200% 50%;
    transform: rotate(160deg);
    -webkit-filter: blur(20px);
  }
}
@-webkit-keyframes bombLeftOut {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
    -webkit-filter: blur(0px);
  }

  50% {
    opacity: 1;
    -webkit-transform-origin: -100% 50%;
    -webkit-transform: rotate(-160deg);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: -100% 50%;
    -webkit-transform: rotate(-160deg);
    -webkit-filter: blur(20px);
  }
}
@keyframes bombLeftOut {
  0% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: rotate(0deg);
    -webkit-filter: blur(0px);
  }

  50% {
    opacity: 1;
    transform-origin: -100% 50%;
    transform: rotate(-160deg);
    -webkit-filter: blur(0px);
  }

  100% {
    opacity: 0;
    transform-origin: -100% 50%;
    transform: rotate(-160deg);
    -webkit-filter: blur(20px);
  }
}
@-webkit-keyframes boingInUp {
  0% {
    opacity: 0;
    -webkit-transform-origin: 50% 0%;
    -webkit-transform: perspective(800px) rotateX(-90deg);
  }

  50% {
    opacity: 1;
    -webkit-transform-origin: 50% 0%;
    -webkit-transform: perspective(800px) rotateX(50deg);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 50% 0%;
    -webkit-transform: perspective(800px) rotateX(0deg);
  }
}
@keyframes boingInUp {
  0% {
    opacity: 0;
    transform-origin: 50% 0%;
    transform: perspective(800px) rotateX(-90deg);
  }

  50% {
    opacity: 1;
    transform-origin: 50% 0%;
    transform: perspective(800px) rotateX(50deg);
  }

  100% {
    opacity: 1;
    transform-origin: 50% 0%;
    transform: perspective(800px) rotateX(0deg);
  }
}
@-webkit-keyframes boingOutDown {
  0% {
    opacity: 1;
    -webkit-transform-origin: 100% 100%;
    -webkit-transform: perspective(800px) rotateX(0deg) rotateY(0deg);
  }

  20% {
    opacity: 1;
    -webkit-transform-origin: 100% 100%;
    -webkit-transform: perspective(800px) rotateX(0deg) rotateY(10deg);
  }

  30% {
    opacity: 1;
    -webkit-transform-origin: 0% 100%;
    -webkit-transform: perspective(800px) rotateX(0deg) rotateY(0deg);
  }

  40% {
    opacity: 1;
    -webkit-transform-origin: 0% 100%;
    -webkit-transform: perspective(800px) rotateX(10deg) rotateY(10deg);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 100% 100%;
    -webkit-transform: perspective(800px) rotateX(90deg) rotateY(0deg);
  }
}
@keyframes boingOutDown {
  0% {
    opacity: 1;
    transform-origin: 100% 100%;
    transform: perspective(800px) rotateX(0deg) rotateY(0deg);
  }

  20% {
    opacity: 1;
    transform-origin: 100% 100%;
    transform: perspective(800px) rotateX(0deg) rotateY(10deg);
  }

  30% {
    opacity: 1;
    transform-origin: 0% 100%;
    transform: perspective(800px) rotateX(0deg) rotateY(0deg);
  }

  40% {
    opacity: 1;
    transform-origin: 0% 100%;
    transform: perspective(800px) rotateX(10deg) rotateY(10deg);
  }

  100% {
    opacity: 0;
    transform-origin: 100% 100%;
    transform: perspective(800px) rotateX(90deg) rotateY(0deg);
  }
}
@-webkit-keyframes spaceOutUp {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 0%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 0%;
    -webkit-transform: scale(.2) translate(0%, -200%);
  }
}
@keyframes spaceOutUp {
  0% {
    opacity: 1;
    transform-origin: 50% 0%;
    transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 0%;
    transform: scale(.2) translate(0%, -200%);
  }
}
@-webkit-keyframes spaceOutRight {
  0% {
    opacity: 1;
    -webkit-transform-origin: 100% 50%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 100% 50%;
    -webkit-transform: scale(.2) translate(200%, 0%);
  }
}
@keyframes spaceOutRight {
  0% {
    opacity: 1;
    transform-origin: 100% 50%;
    transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    transform-origin: 100% 50%;
    transform: scale(.2) translate(200%, 0%);
  }
}
@-webkit-keyframes spaceOutDown {
  0% {
    opacity: 1;
    -webkit-transform-origin: 50% 100%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 50% 100%;
    -webkit-transform: scale(.2) translate(0%, 200%);
  }
}
@keyframes spaceOutDown {
  0% {
    opacity: 1;
    transform-origin: 50% 100%;
    transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    transform-origin: 50% 100%;
    transform: scale(.2) translate(0%, 200%);
  }
}
@-webkit-keyframes spaceOutLeft {
  0% {
    opacity: 1;
    -webkit-transform-origin: 0% 50%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    -webkit-transform-origin: 0% 50%;
    -webkit-transform: scale(.2) translate(-200%, 0%);
  }
}
@keyframes spaceOutLeft {
  0% {
    opacity: 1;
    transform-origin: 0% 50%;
    transform: scale(1) translate(0%, 0%);
  }

  100% {
    opacity: 0;
    transform-origin: 0% 50%;
    transform: scale(.2) translate(-200%, 0%);
  }
}
@-webkit-keyframes spaceInUp {
  0% {
    opacity: 0;
    -webkit-transform-origin: 50% 0%;
    -webkit-transform: scale(.2) translate(0%, -200%);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 50% 0%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }
}
@keyframes spaceInUp {
  0% {
    opacity: 0;
    transform-origin: 50% 0%;
    transform: scale(.2) translate(0%, -200%);
  }

  100% {
    opacity: 1;
    transform-origin: 50% 0%;
    transform: scale(1) translate(0%, 0%);
  }
}
@-webkit-keyframes spaceInRight {
  0% {
    opacity: 0;
    -webkit-transform-origin: 100% 50%;
    -webkit-transform: scale(.2) translate(200%, 0%);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 100% 50%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }
}
@keyframes spaceInRight {
  0% {
    opacity: 0;
    transform-origin: 100% 50%;
    transform: scale(.2) translate(200%, 0%);
  }

  100% {
    opacity: 1;
    transform-origin: 100% 50%;
    transform: scale(1) translate(0%, 0%);
  }
}
@-webkit-keyframes spaceInDown {
  0% {
    opacity: 0;
    -webkit-transform-origin: 50% 100%;
    -webkit-transform: scale(.2) translate(0%, 200%);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 50% 100%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }
}
@keyframes spaceInDown {
  0% {
    opacity: 0;
    transform-origin: 50% 100%;
    transform: scale(.2) translate(0%, 200%);
  }

  100% {
    opacity: 1;
    transform-origin: 50% 100%;
    transform: scale(1) translate(0%, 0%);
  }
}
@-webkit-keyframes spaceInLeft {
  0% {
    opacity: 0;
    -webkit-transform-origin: 0% 50%;
    -webkit-transform: scale(.2) translate(-200%, 0%);
  }

  100% {
    opacity: 1;
    -webkit-transform-origin: 0% 50%;
    -webkit-transform: scale(1) translate(0%, 0%);
  }
}
@keyframes spaceInLeft {
  0% {
    opacity: 0;
    transform-origin: 0% 50%;
    transform: scale(.2) translate(-200%, 0%);
  }

  100% {
    opacity: 1;
    transform-origin: 0% 50%;
    transform: scale(1) translate(0%, 0%);
  }
}
